// 统一管理用户相关接口
import request from '@/utils/request'
import type {
  loginFormData,
  loginResponseData,
  userInfoResponseData,
} from '@/type/type'

// 封装真接口
enum API {
  LOGIN_URL = '/admin/acl/index/login',
  USERINFO_URL = '/admin/acl/index/info',
  LOGOUT_URL = '/admin/acl/index/logout',
}

// 登录接口
export const reqLogin = (data: loginFormData) =>
  request.post<any, loginResponseData>(API.LOGIN_URL, data)
// 获取用户信息接口
export const reqUserInfo = () =>
  request.get<any, userInfoResponseData>(API.USERINFO_URL)
// 退出登录
export const reqLogout = () => request.post<any, any>(API.LOGOUT_URL)

// 下面是使用mock封装的假接口，上面为真接口进行封装

// import type {
//   loginForm,
//   loginResponseData,
//   userResponseData,
// } from '@/type/type'
// // 利用枚举统一管理接口
// // enum //枚举用于定义数据集合，使用枚举可以定义一些带名字的常量，
// // 有普通枚举、字符串枚举和常量枚举等类型。
// enum API {
//   LOGIN_URL = '/user/login',
//   USERINFO_URL = '/user/info',
// }
// // 暴露请求函数
// // 登录接口（post请求体）
// export const reqLogin = (data: loginForm) =>
//   request.post<any, loginResponseData>(API.LOGIN_URL, data)
// // 请求用户信息接口（get请求头）
// export const reqUserInfo = () =>
//   request.get<any, userResponseData>(API.USERINFO_URL)
